package com.huaxindata.common.map;

import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.DistanceUtil;

import java.math.BigDecimal;
import java.text.DecimalFormat;

/**
 * Created by Administrator on 2017/9/21.
 * 计算两个坐标点之间距离的工具类
 * 由于百度默认返回的距离是米，这里将其单位转换成千米
 * 提供两种返回，一种是返回字符串，一种返回的是double类型，保留3位小数
 */

public class HxDistanceUtil {
    public static String getDistanceStr(LatLng l1,LatLng l2){
        if (l1 == null || l2 == null) {
            return "0";
        }
        Double meters=DistanceUtil.getDistance(l1, l2);
        DecimalFormat format = new DecimalFormat("#0.###");
        return format.format(meters/1000);
    }
    public static Double getDistance(LatLng l1,LatLng l2){
        if (l1 == null || l2 == null) {
            return 0d;
        }
        Double meters=DistanceUtil.getDistance(l1, l2);
        BigDecimal decimal = new BigDecimal(meters / 1000);
        return decimal.setScale(3, BigDecimal.ROUND_HALF_DOWN).doubleValue();
    }
}
